package com.gome.ocean.dao.model.datax;

import java.util.Date;
import java.util.Map;

import com.gome.ocean.common.enums.job.JobLimit;
import com.gome.ocean.common.enums.job.Reader;
import com.gome.ocean.common.enums.job.Writer;
import com.gome.ocean.dao.model.authority.BaseOnProjectEntity;

/**
 * 任务创建VO
 * 
 * @author haqiaolong 2016年1月21日 下午5:16:55
 * @since 5.0.0
 */
public class CreateJobVO extends BaseOnProjectEntity {

    /**
     * 
     */
    private static final long   serialVersionUID = 1246259871304574930L;

    private Reader              reader;
    private Map<String, Object> readerMaps;

    private Writer              writer;
    private Map<String, Object> writerMaps;

    /**
     * 提交的用户
     */
    private String              submit_user;
    /**
     * 实例提交的客户端ip
     */
    private String              submit_ip;

    /**
     * 开始执行时间
     */
    private Date                start_time;

    /**
     * 执行表达式
     */
    private String              cronExpression;

    /**
     * 项目ID
     */
    private Long                projectId;

    /**
     * 项目建成
     */
    private String              pipelineName;

    /**
     * 速度限制
     */
    private JobLimit            jobLimit;
    private long                limitValue;

    /* 任务备注信息 */
    private String              introduce;

    /** 执行类型 */
    private int                 executeType;

    public int getExecuteType() {
        return executeType;
    }

    public void setExecuteType(int executeType) {
        this.executeType = executeType;
    }

    public String getIntroduce() {
        return introduce;
    }

    public void setIntroduce(String introduce) {
        this.introduce = introduce;
    }

    public Reader getReader() {
        return reader;
    }

    public void setReader(Reader reader) {
        this.reader = reader;
    }

    public Map<String, Object> getReaderMaps() {
        return readerMaps;
    }

    public void setReaderMaps(Map<String, Object> readerMaps) {
        this.readerMaps = readerMaps;
    }

    public Writer getWriter() {
        return writer;
    }

    public void setWriter(Writer writer) {
        this.writer = writer;
    }

    public Map<String, Object> getWriterMaps() {
        return writerMaps;
    }

    public void setWriterMaps(Map<String, Object> writerMaps) {
        this.writerMaps = writerMaps;
    }

    public String getSubmit_user() {
        return submit_user;
    }

    public void setSubmit_user(String submit_user) {
        this.submit_user = submit_user;
    }

    public String getSubmit_ip() {
        return submit_ip;
    }

    public void setSubmit_ip(String submit_ip) {
        this.submit_ip = submit_ip;
    }

    public Date getStart_time() {
        return start_time;
    }

    public void setStart_time(Date start_time) {
        this.start_time = start_time;
    }

    public String getCronExpression() {
        return cronExpression;
    }

    public void setCronExpression(String cronExpression) {
        this.cronExpression = cronExpression;
    }

    public Long getProjectId() {
        return projectId;
    }

    public void setProjectId(Long projectId) {
        this.projectId = projectId;
    }

    public String getPipelineName() {
        return pipelineName;
    }

    public void setPipelineName(String pipelineName) {
        this.pipelineName = pipelineName;
    }

    public JobLimit getJobLimit() {
        return jobLimit;
    }

    public void setJobLimit(JobLimit jobLimit) {
        this.jobLimit = jobLimit;
    }

    public long getLimitValue() {
        return limitValue;
    }

    public void setLimitValue(long limitValue) {
        this.limitValue = limitValue;
    }
}
